Auto merge of #3837 - alexcrichton:workspace-exlucde, r=brson
authorbors <bors@rust-lang.org>
Thu, 23 Mar 2017 21:56:53 +0000 (21:56 +0000)
committerbors <bors@rust-lang.org>
Thu, 23 Mar 2017 21:56:53 +0000 (21:56 +0000)
Add a workspace.exclude key

This commit adds a new key to the `Cargo.toml` manifest, `workspace.exclude`.
This new key is a list of strings which is an array of directories that are
excluded from the workspace explicitly. This is intended for use cases such as
vendoring where path dependencies into a vendored directory don't want to pull
in the workspace dependencies.

There's a number of use cases mentioned on #3192 which I believe should all be
covered with this strategy. At a bare minimum it should suffice to `exclude`
every directory and then just explicitly whitelist crates through `members`
through inclusion, and that should give precise control over the structure of a
workspace.

Closes #3192


Trivial merge